using System.Collections.Generic;

namespace IQIGame.Onigao.GamePlay
{
    public class PlayerData
    {
        /// <summary>
        ///  玩家id
        /// </summary>
        public long pid;
        /// <summary>
        ///  用户id
        /// </summary>
        public string uid;
        /// <summary>
        ///  GUID
        /// </summary>
        public int guid;
        /// <summary>
        ///  用户平台id
        /// </summary>
        public string openId;
        /// <summary>
        ///  角色id
        /// </summary>
        public int roleCid;
        /// <summary>
        ///  创建时间
        /// </summary>
        public long createTime;
        /// <summary>
        ///  大区id
        /// </summary>
        public string areaId;
        /// <summary>
        ///  当前服务器id
        /// </summary>
        public string gameServerId;
        /// <summary>
        ///  平台标示
        /// </summary>
        public string sdkName;
        /// <summary>
        ///  注册时的自定义渠道号
        /// </summary>
        public string channelNo;
        /// <summary>
        ///  玩家等级
        /// </summary>
        public int level;
        /// <summary>
        ///  经验
        /// </summary>
        public int exp;
        /// <summary>
        ///  昵称
        /// </summary>
        public string playerName;
        /// <summary>
        ///  头像
        /// </summary>
        public int avatar;
        /// <summary>
        ///  头像框id
        /// </summary>
        public int avatarFrame;
        /// <summary>
        ///  个人简介	
        /// </summary>
        public string intro;
        /// <summary>
        ///  称号
        /// </summary>
        public int title;
        /// <summary>
        ///  看板娘
        /// </summary>
        public int kanban;
        /// <summary>
        ///  付费点
        /// </summary>
        public int payPoint;
        /// <summary>
        ///  累计充值金额
        /// </summary>
        public int sumPay;
        /// <summary>
        /// 已经开启的功能id
        /// </summary>
        public List<int> functionTypes;
        /// <summary>
        /// 玩家参数
        /// </summary>
        public Dictionary<int, int> playerParams;
        /// <summary>
        /// 道具模块
        /// </summary>
        public ItemModuleData item;
        /// <summary>
        /// 拥有的装备皮肤Cids
        /// </summary>
        public List<int> equipSkins;
        /// <summary>
        /// 英雄模块
        /// </summary>
        public HeroModuleData hero;

        /// <summary>
        /// 是否选的是男角色
        /// </summary>
        public bool isMaleRole => APITableConfig.GetRoleCfgId(EM_GameRoleSex.Male) == this.roleCid;

        /// <summary>
        /// 编队模块
        /// </summary>
        public FormationModuleData formation;
        /// <summary>
        /// 任务模块
        /// </summary>
        public QuestModuleData quest;

        /// <summary>
        /// 新邮件数量
        /// </summary>
        public int newMailCount;

        /// <summary>
        /// 当前使用的便携道具id
        /// </summary>
        public long portableItemId;
        /// <summary>
        /// 商城模块
        /// </summary>
        public MallModuleData Mall;
        /// <summary>
        /// 宠物模块
        /// </summary>
        public PetModuleData pet;
        /// <summary>
        /// 好友模块
        /// </summary>
        public FriendModuleData friend;
        /// <summary>
        /// 设置模块
        /// </summary>
        public SettingModuleData setting;

        /// <summary>
        /// 主城相关数据
        /// </summary>
        public MainCityData mainCityData;
    }
}
